<template>
  <a-card class="info" title="工作流测试">
      <template slot="extra">
      <template v-if="model.bpmStatus==='1'">
        <a-icon type="edit" theme="twoTone" :style='iconStyle' @click="handleEdit(model)"/>
        <a-divider type="vertical"/>
        <a-button type="primary" size="small" @click="startProcess(model)">发起流程</a-button>
      </template>
      <template v-if="showBtn(model.bpmStatus)&& doCount > 0">
        <span v-if="model.taskUrge">
          <a-icon title="催办提醒" theme="twoTone" twoToneColor="#eb2f96"
                  @click="taskNotifyMe(flowCode,model.id)" type="notification"/>
          <a-divider type="vertical"/>
        </span>

        <a-button type="primary" size="small" @click="handleProcess(model)">办理</a-button>
        <a-divider type="vertical"/>
      </template>
      <template v-if="myCount > 0 && showBtn(model.bpmStatus)">
        <a-button type="primary" size="small" @click="taskNotify(flowCode,model.id)">催办</a-button>
        <a-divider type="vertical"/>
        <a-popconfirm title="确定要作废吗?" @confirm="() => invalidProcess(model)">
          <a-button type="primary" size="small">
            作废流程
          </a-button>
        </a-popconfirm>
        <a-divider type="vertical"/>
      </template>
      <template v-if="model.bpmStatus !== '1'">
        <a-button type="primary" size="small" @click="handleTrack(model)">审批进度</a-button>
      </template>
      </template>
     <biz-his-task-module ref="bizHisTask" :formData="formData">
     <a-row type="flex"  justify="center">
       <a-col :span="24">
          <test-bpm-form ref="realForm" :disabled="true" normal></test-bpm-form>
       </a-col>
     </a-row>
      </biz-his-task-module>
     <test-bpm-modal ref="modalForm" @ok="modalFormOk"></test-bpm-modal>
     <bpm-biz-task-deal-modal ref="taskDealModal" :path="path" :formData="formData"
                             @ok="handleOk"></bpm-biz-task-deal-modal>
     <bpm-process-track-modal ref="bpmProcessTrackModal"></bpm-process-track-modal>
     <biz-task-notify-modal ref="taskNotifyModal"></biz-task-notify-modal>
     <biz-task-notify-me-modal ref="taskNotifyMeModal"></biz-task-notify-me-modal>
  </a-card>
</template>

<script>

  import {getAction} from '@/api/manage'
  import {JeecgBpmListMixin} from '@/mixins/JeecgBpmListMixin'
  import BizHisTaskModule from "@/views/modules/bpmbiz/common/BizHisTaskModule.vue";
  import BpmBizTaskDealModal from "@/views/modules/bpmbiz/common/BpmBizTaskDealModal.vue";
  import BpmProcessTrackModal from "@/views/modules/bpmbiz/common/BpmProcessTrackModal.vue";
  import BizTaskNotifyModal from "@/views/modules/bpmbiz/common/BizTaskNotifyModal.vue";
  import BizTaskNotifyMeModal from "@/views/modules/bpmbiz/common/BizTaskNotifyMeModal.vue";
  import TestBpmForm from './modules/TestBpmForm'
  import TestBpmModal from './modules/TestBpmModal'

  export default {
    name: 'TestBpmDetail',
    mixins: [JeecgBpmListMixin],
    components: {
     TestBpmForm,
     TestBpmModal,
     BizHisTaskModule,
     BpmBizTaskDealModal,
     BpmProcessTrackModal,
     BizTaskNotifyModal,
     BizTaskNotifyMeModal,
    },
    data () {
      return {
         model: {},
        id: '',
        url: {
          queryById: "/test/testBpm/queryById",
          delete: "/test/testBpm/delete",
          bizCount: "/test/testBpm/bizCount",
        },
        confirmLoading: false,
        iconStyle:{"font-size":"20px"},
        //代码生成后需手动设置流程编码
        flowCode: 'dev_test_bpm_001',
        formUrl: "scy/test/modules/TestBpmForm",
        formUrlMobile: "",
      }
    },
    created() {
    },
    watch: {
      $route(to, from) {
        this.loadData();
      },
    },
    mounted() {
    },
    methods: {
      loadData() {
        const id = this.$route.params.id;
        getAction(this.url.queryById, { id }).then((res) => {
          if (res.success) {
            const model = res.result
            this.$refs.realForm.edit(model);
            this.model=model;
            //查询催办
            let params1 = {flowCode: this.flowCode, dataId: id};//查询条件
            getAction(this.url.checkNotify, params1).then((res2) => {
              if (res2.result) {
                this.model.taskUrge = true;
              }
            })
            //查询流程
            let params = {flowCode: this.flowCode, dataId: this.model.id};//查询条件
            this.viewTrack(params);
          }
        })
        this.bizCountById(id);
      },
    }
  }
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';

.info {
  /deep/ .ant-card-head-title{
    flex: none;
    margin-right: 20px;
  }
  /deep/ .ant-card-extra{
    flex: 1;
    float: left;
  }
}
</style>
